// 用户相关接口模块
import { request } from '@/utils/request'
// import store from '../store/index.js'
import qs from 'query-string'
//  @params 表示入参
//  @return 表示后端成功请求后的返回值
/**
 * 说明：用户登录
 */
export const userLogin = (data) =>
  request({
    method: 'POST',
    url: '/api/login',
    data: qs.stringify(data)
  })
/**
 * 说明：用户注册
 */
export const userRegister = (data) =>
  request({
    method: 'POST',
    url: '/api/register',
    data: qs.stringify(data)
  })
/**
 * 说明：获取验证码
 */
export const userSendSms = () =>
  request({
    method: 'GET',
    url: '/api/codeImg'
  })

/**
 * 说明：获取用户基本信息
 */
export const getUserInfo = () =>
  request({
    method: 'GET',
    url: '/my/userinfo'
  })

export const postUserInfo = (data) =>
  request({
    method: 'POST',
    url: '/my/personInfo',
    data: qs.stringify(data)
  })
/**
 * 说明：获取用户频道列表
 */
export const getUserChannels = () =>
  request({
    method: 'GET',
    url: '/my/channels'
  })

/**
 * 说明：关注用户
 *
 * @params target 需要关注的用户id
 */
export const addFollow = (data) =>
  request({
    method: 'POST',
    url: '/v1_0/user/followings',
    data
  })

/**
 * 说明：取关用户
 *
 * @params target 需要取关的用户id
 */
export const deleteFollow = (target) =>
  request({
    method: 'DELETE',
    url: `/v1_0/user/followings/${target}`
  })

/**
 * 说明：更新头像
 *
 * @params photo 头像文件 file 必须通过 new FormData() 来进行装载传递 => 直接打印 FormData 数据是无法看到内容不内容的
 */
export const updateUserAvatar = (data) =>
  request({
    method: 'POST',
    url: '/my/update/avatar',
    data,
    contentType: false,
    processData: false
  })

/**
 * 更新用户基本信息
 */
export const updateUserProfile = (data) =>
  request({
    method: 'PATCH',
    url: '/my/update/profile',
    data: qs.stringify(data)
  })

/**
 * 更新用户-密码
 */
export const updateUserPwd = (data) =>
  request({
    method: 'POST',
    url: '/my/updatepwd',
    data: qs.stringify(data)
  })
export const postUserLoverId = (data) =>
  request({
    method: 'POST',
    url: '/my/loverId',
    data: qs.stringify(data)
  })
